import { useState , useEffect } from "react";


//* 封装好了，detail里面直接引入用就可以，不用再定义写一遍了
export const useRequest=(url)=>{
    //* 注意不同文件返回的不同的状态类型不同
    //* 这里都写成数组没有问题，其他时候要注意，如果冲突就分开封装
    const [topics,setTopics]=useState([]);
    const [options,setOptions]=useState({tab:'all',page:1});

    useEffect(() => {
        //! 针对首页，精华，部分写的，detail已经不适用了，可以另外给details封装一个
        fetch(`${url}?tab=${options.tab}&page=${options.page}`)
            .then(res=>res.json())
            .then(res=>{
                res&&setTopics(res.data);
            })
            .catch(err=>{
                console.log(err)
            })
    }, [options]);

    return [topics,setOptions,options];//对象必须要保证名字一样，不太好
}